// adsasd
int cadencia;
int cambio = 4;
char anchoPulso = 1.5;

//PRIORIDAD ALTA
subeCambio() {
	if (cambio<7)
		cambio++;
		anchoPulso += .2;
}
 
//PRIORIDAD ALTA
bajaCambio() {
	if (cambio>1)
		cambio--;
		anchoPulso -= .2;
}

//PRIORIDAD MEDIANA
regularVelocidad() {
	if (regula_velocidad)
		regula_velocidad = false;
	else {
		regula_velocidad = true;
		calculaCambio();
	}

	cadencia = getCadencia();
}

calculaCambio() {

	if (regula_velocidad) {
		diff = (getCadencia()-cadencia)%5;
		if (|diff| >1) {
			nAn = anchoPulso += diff*.2;
			if (nAn >= 1 && nAn <= 7)
				anchoPulso = nAn;
			
			nCa = cambio += diff;
			if (nCa >= 1 && nCa <= 7)
				cambio = nCa;
		}
		OS_Delay(MUCHO TIEMPO); //debe ser mucho tiemo para
		// percibir un cambio significante en el POT
	} else {
		//stop repeating this task
	}
}

//PRIORIDAD BAJA, siempre esta corriendo
controlServo() {
	makePulse(anchoPulso); // hace un pulso del tamanio especificado
	OS_Delay(20); //corre cada 20 ms
}


